//package com.angel.bo.auth.client.config.security.bean;
//
//import com.angel.bo.beans.admin.entity.Role;
//import com.fasterxml.jackson.annotation.JsonIgnore;
//import lombok.Data;
//import org.springframework.security.core.GrantedAuthority;
//import org.springframework.security.core.authority.SimpleGrantedAuthority;
//import org.springframework.security.core.userdetails.UserDetails;
//import org.springframework.util.CollectionUtils;
//
//import java.util.Collection;
//import java.util.HashSet;
//import java.util.Set;
//
///**
// * @author zhangwei
// * @date 2018/5/24 15:30
// * @desc 自定义用户鉴权信息bean
// */
//@Data
//public class AuthUser implements UserDetails {
//
//    private Integer userId;
//
//    private String nickName;
//
//    private String account;
//
//    @JsonIgnore
//    private String password;
//
//    private Set<Role> roles;
//
//    @Override
//    public Collection<? extends GrantedAuthority> getAuthorities() {
//        Collection<GrantedAuthority> authorities = new HashSet<>(10);
//        if (!CollectionUtils.isEmpty(roles)) {
//            for (Role role : roles) {
//                String roleCode = role.getRoleName();
//                if (!roleCode.startsWith("ROLE_")) {
//                    roleCode = "ROLE_" + roleCode;
//                }
//                GrantedAuthority grantedAuthority = new SimpleGrantedAuthority(roleCode);
//                authorities.add(grantedAuthority);
//            }
//        }
//        return authorities;
//    }
//
//    @Override
//    public String getPassword() {
//        return null;
//    }
//
//    @Override
//    public String getUsername() {
//        return this.account;
//    }
//
//    @Override
//    public boolean isAccountNonExpired() {
//        //用户是否未过期
//        return true;
//    }
//
//    @Override
//    public boolean isAccountNonLocked() {
//        //用户是否未被锁定
//        return true;
//    }
//
//    @Override
//    public boolean isCredentialsNonExpired() {
//        //证书是否未过期
//        return true;
//    }
//
//    @Override
//    public boolean isEnabled() {
//        //用户是否可用
//        return true;
//    }
//}
